Aggregation of system settings into objects

ABSTRACT

A control panel provides controllers for setting the values of system settings. Each controller controls a subset of related system settings. Scheme objects are provided for encapsulating values of system settings for a controller. The current values of system settings controlled by a controller may be updated by applying the values held within a scheme. Grand schemes are provided for aggregating the system settings for multiple controllers. Thus, the system settings controlled by multiple controllers may be updated in a single transaction by applying a grand scheme to the control panel. Easily practiced approaches to applying schemes and grand schemes to the control panel are provided. Moreover, methods for easily creating and editing the contents of schemes and grand schemes are provided.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.08/366,058, filed Dec. 29, 1994, now abandoned.

TECHNICAL FIELD

This invention relates generally to data processing systems and, moreparticularly, to system settings within data processing systems thatcontrol an operating environment.

BACKGROUND OF THE INVENTION

The Microsoft WINDOWS, version 3.1, operating system, sold by MicrosoftCorporation of Redmond, Wash., provides a control panel that allows auser to adjust various system settings, such as the color settings forthe graphical user interface. The control panel includes a number ofcontrollers that adjust groups of settings. For example, a separatecolor controller is provided to adjust the color settings that are usedby the operating system. Each controller generates a dialog box whenactivated that allows a user to select the system settings that arecontrolled by the controller. The operating system provides defaultsettings for each of the system settings that are controlled by thecontrollers. However, in order to change the system settings, the usermust activate each controller in turn to adjust system settings whichthe user wishes to change.

SUMMARY OF THE INVENTION

In accordance with the first aspect of the present invention, a methodis practiced in a computer system having a video display and a storagedevice. The computer system runs an operating system that provides adesktop environment to a user and a file system. The desktop environmenthas associated systems settings that affect the desktop environment. Inthis method, a first set of values for at least a portion of the systemsettings are stored in the storage device so that the first set ofvalues is visible in the file system. A second set of values, for thesame portion of the system settings for which values are stored in thefirst set of values, is also stored in the storage device such that thesecond set of values is visible in the file system. In response to achoice by the user between the first set of values and the second set ofvalues, the system settings are updated to have the values specified bythe chosen set of values.

In accordance with another aspect of the present invention, a controlpanel is provided as part of an operating system that is run on acomputer system. The control panel is used to control values assigned tosystem settings that control an operating environment provided to auser. Sets of values for the system settings are stored in the storagedevice. Each set of values includes values for at least a portion of thesystem settings. The user selects ones of the sets of values via aprovided interface, and the current system settings are changed to havethe values of the selected set of values.

In accordance with a further aspect of the present invention, a controlpanel is provided for controlling current values of the system settings.The control panel includes controllers that are each responsible forcontrolling current values of a group of related ones of the systemsettings. The sets of values are visible in a file system of theoperating system. The user is provided with at least two sets of valuesfor an identified one of the groups of related system settings. The userselects one of the two sets of values, and in response to the userselection, the current values of the identified group of related systemsettings are changed to the values of the set selected by the user.

In accordance with an additional aspect of the present invention, agrand scheme container object is stored in a storage device. Schemeobjects are stored within the grand scheme container object. Each schemeobject holds a set of values for a subset of the system settings. Thevalues held in the scheme objects that are contained within the grandscheme container object are applied to the current system settings sothat the current system settings assume the values held in the schemeobjects.

In accordance with another object of the present invention, a method ispracticed in a computer system having an input device and a videodisplay. The computer system runs an operating system that provides anoperating environment to a user as specified by system settings. A firstobject holds values for system settings and has a representation that isdisplayed on the video display. A second object also holds systemsettings and also has a representation on the video display. Therepresentation of the first object is dragged to lie over at least aportion of the representation of the second object in response to theuser using the input device. The representation of the first object isdropped on the representation of the second object. In response to thedropping of the representation of the first object in the representationof the second object, the values for system settings are changed in thesecond object to the values contained within the first object.

In accordance with a further aspect of the present invention, a dataprocessing system includes a processor for running an operating system.The operating system provides a file system and a desktop environment tothe user. The desktop environment has an associated set of systemsettings that affect the environment. The data processing system alsoincludes storage. The storage holds a copy of the operating system and afirst and second set of values. The sets of values for a portion of thesystem settings are visible within the file system. The data processingsystem provides a vehicle for updating the system settings in responseto the user choice of one of the sets of values such that the systemsettings assume the values of the set of values chosen by the user.

In accordance with a final aspect of the present invention, a system forproviding a desktop environment to a user is provided. The desktopenvironment has an associated set of system settings that affect thedesktop environment. The system includes a display component fordisplaying an interface to a user as part of the desktop environment.The display component displays the interface according to systemsettings. The system also includes a first container holding a first setof system setting values and a second container holding a second set ofsystem setting values. The system additionally includes a selectioncomponent that receives selection information, and in response to thisselection information, selects between the first container and thesecond container. A change component is provided as part of the systemthat is responsible to the selection made by the selection component tochange the system settings to those held in the selected container.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a computer system that is suitable forpracticing a preferred embodiment of the present invention.

FIG. 2 is a diagram illustrating an example control panel window inaccordance with the preferred embodiment of the present invention.

FIG. 3 is an example of a dialog box for a controller for the controlpanel of FIG. 2. FIG. 4 is a diagram illustrating an example of adefault systems setting window provided by the preferred embodiment ofthe present invention.

FIG. 5 is a diagram illustrating the hierarchy among a schemes folder,grand schemes and schemes in accordance with the preferred embodiment ofthe present invention.

FIG. 6 is a flow chart illustrating how schemes and grand schemes areused to change system settings.

FIG. 7A illustrates a menu for a control panel in accordance with thepreferred embodiment of the present invention.

FIG. 7B illustrates an example of a context menu for a grand scheme.

FIG. 7C illustrates steps performed to drag and drop a grand scheme on acontrol panel in accordance with the preferred embodiment of the presentinvention.

FIG. 8A is a diagram illustrating an example of a menu for a controllerin accordance with the preferred embodiment of the present invention.

FIG. 8B is a diagram illustrating an example of a context menu for ascheme.

FIG. 8C is a flow chart illustrating the steps performed todrag-and-drop a scheme onto the control panel in the preferredembodiment of the present invention.

FIG. 9A is a flow chart illustrating the steps of a first approach forcreating a scheme in accordance with the preferred embodiment of thepresent invention.

FIG. 9B is a flow chart illustrating the steps of a second approach forcreating a scheme in accordance with the preferred embodiment of thepresent invention.

FIG. 9C is a flow chart illustrating the steps of a third approach forcreating a scheme in accordance with the preferred embodiment of thepresent invention.

FIG. 10 is a flow chart illustrating the steps performed to edit ascheme in accordance with the preferred embodiment of the presentinvention.

FIG. 11A is a flow chart illustrating the steps of a first approach forcreating a grand scheme in accordance with the preferred embodiment ofthe present invention.

FIG. 11B is a flow chart illustrating the steps of a second approach forcreating a grand scheme in accordance with the preferred embodiment ofthe present invention.

FIG. 11C is a flow chart illustrating the steps of an approach forcreating an object holding system settings of a control panel inaccordance with the preferred embodiment of the present invention.

FIG. 12 is a flow chart illustrating the steps of a second approach formodifying a grand scheme in the preferred embodiment of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

The preferred embodiment of the present invention provides a user with aquick and easy way to change groups of system settings in onetransaction. Specifically, the preferred embodiment of the presentinvention supports the use of schemes and grand schemes on a per userper desktop basis. Schemes are entities that hold collections of systemsettings for a particular controller of a control panel (i.e., a controlpanel applet). Grand schemes are collections of settings for a set ofone or more controllers. Through the use of schemes or grand schemes, auser can update a group of settings associated with a controller orgroup of controllers. The user merely needs to specify the scheme orgrand scheme that is to be used to establish the settings and thenrequest that the scheme or grand scheme be applied. The user may store anumber of different schemes and grand schemes within the system. Thecontrollers, schemes, and grand schemes are all implemented as objectsthat may be dragged and dropped to establish and change system settings.

FIG. 1 is a block diagram of a computer system 10 that is suitable forpracticing the preferred embodiment of the present invention. Thecomputer system includes a central processing unit (CPU) 12 thatcontrols the activities of the computer system. The CPU 12 may be amicroprocessor or other type of commercially available CPU. The computersystem 10 also includes input devices, such as mouse 14 and keyboard 16.A video display 18 is provided in the computer system 10 to displayvideo output to the user. A memory 20 and a secondary storage device 22provide storage facilities within the computer system 10. The secondarystorage device 22 may be a hard disk drive or other suitable secondarystorage device. The memory 20 holds a copy of an operating system 24. Inthe preferred embodiment of the present invention, the operating system24 is used to store and manage the control panel, the schemes, and thegrand schemes.

In order to understand the use of schemes and grand schemes within thepreferred embodiment of the present invention, it is helpful to firstreview the role the control panel serves within the computer system 10.As was discussed in the Background of the Invention, the control panelis provided by the operating system 24 to enable the user to adjustsystem settings. FIG. 2 shows an open control panel window that includesa separate icon 28A-28I for each controller. The controllers in FIG. 2include a color controller 28A, a keyboard controller 28B, a MIDI mappercontroller 28C, a desktop controller 28D, a cursors controller 28E, asound controller 28F, an international controller 28G, a fontscontroller 28H and a mouse controller 28I.

The controllers are sections of code that control the system settingsfor groups of related settings. For example, the desktop controllercontrols the appearance of the virtual desktop to the user. When theuser positions a mouse cursor through the use of mouse 14 to point atone of the icons 28A-28I shown in the control panel window 26 and thendouble clicks a button of the mouse, a dialog box for adjusting thesystem settings of the associated controller is displayed. FIG. 3 showsan example of the dialog box 30 that is displayed when a user doubleclicks on the desktop controller icon 28. The dialog box 30 includes anumber of list boxes, option boxes, and other user interface controlsthat allow a user to select the settings that are controlled by thecontroller.

The preferred embodiment of the present invention is employed using theMicrosoft Object Linking and Embedding (OLE) 2.0 protocol of MicrosoftCorporation. In order to understand the implementation details of thepreferred embodiment of the present invention, it is useful to firstreview some of the concepts employed in Microsoft OLE 2.0 that arerelevant to the present invention.

Microsoft OLE 2.0 is a protocol that follows a specific object model. An"object" in Microsoft OLE 2.0 is a data abstraction that encapsulatesrelated behavior and attributes. Typically, an object includes a numberof functions and data structures. Nevertheless, in certain instances anobject may include only functions. A "container object" is an objectthat contains other objects within it.

An "interface" in Microsoft OLE 2.0 is a group of semantically relatedfunctions that are organized into a named unit (the name being theidentifier of the interface). Interfaces have no instantiation per se(i.e., the definition for an interface does not include code forimplementing the functions that are identified within an interface);rather, interface definitions merely specify a set of signatures foridentified functions. "Instantiation" refers to the process of creatingin memory structures that represent an object so that operations can beevoked on the object. When an object "supports" an interface, the objectprovides code for the functions specified by the interface. Thus, theobjects that support the interfaces are responsible for providing thecode for implementing the functions of the interfaces. The code providedby an object must comply with the signatures of the interfacedefinition. The run-time manifestation of an interface instance is adata structure that provides access to the functions defined for theinterface. Interface instances are referenced by clients of a serverobject using interface pointers. Hence, when a client object is providedwith an interface pointer, the client object is able to invoke thefunctions of the instance of interface that is provided by the serverobject.

Schemes, controllers, and grand schemes are all implemented as objectswithin the preferred embodiment of the present invention. These objectssupport certain interfaces that will be described in more detail below.Microsoft OLE 2.0 supports the notion of "object classes." An objectclass groups together objects having similar properties and commonbehavior.

A scheme in the preferred embodiment of the present invention is anobject that is a document for containing the settings of a particularcontroller. For example, a scheme for the desktop controller may includesettings that specify the desktop pattern, screen saver parameters,wallpaper patterns, sizing grid parameters, spacing between icons, andcursor click rate. Each controller is an object that provides code forimplementing the dialog box and displaying the icon associated with thecontroller.

A grand scheme is a special type of container object that contains oneor more scheme objects. The grand scheme is well-suited forencapsulating system settings that produce a desktop of a given motif.For instance, a grand scheme might encapsulate system settings thatproduce a cowboy motif. Thus, the desktop settings in the grand schememight include a wallpaper with cars on it and a rustic pattern.Moreover, the sound settings in the grand scheme may include cowboycries and the sound of hoofs. The preferred embodiment of the presentinvention implements a grand scheme as an object of the grand schemeclass. Similarly, controllers and schemes are implemented as objects ofcontroller and scheme object classes, respectively. All of these objectshave associated icons and windows.

In the preferred embodiment of the present invention, the control paneland the schemes are held within a system settings folder. When thesystem settings folder is opened, a system settings window 32, as shownin FIG. 4, is displayed. An icon 34 for the control panel and an icon 36for the schemes are displayed within the system settings window. When auser double clicks on the icon 34 for the control panel, the user seesthe control panel window 26 shown in FIG. 2. When the user double clickson the schemes icon 36, the schemes and grand schemes stored within theschemes folder become visible.

A schemes folder is associated with each virtual desktop. Thus,different users that share a single machine may have separate sets ofschemes and grand schemes or share such schemes or grand schemes.Moreover, schemes and grand schemes are stored on a per desktop basissuch that a user having multiple virtual desktops may have a separateset of schemes and grand schemes for each virtual desktop. The schemesand grand schemes that are objects visible in the file system providedby the operating system.

FIG. 5 is a block diagram that illustrates the contents of an exampleschemes folder 40. This schemes folder holds grand schemes 42A, 42B, and42C, and each of the grand schemes contains one or more schemes 44. Theschemes folder 40 also holds additional schemes 44 that are notcontained within any grand schemes. Those skilled in the art willappreciate that the contents of the schemes folder 40 shown within FIG.5 are merely illustrative. The schemes folder 40 may hold differentcontents, including objects that are neither schemes nor grand schemes.

Once the schemes or grand schemes are created, they may be used toadjust the settings within the control panel. FIG. 6 shows a flow chartof the steps performed to adjust the settings within the control panelusing schemes or grand schemes. Initially, the scheme or grand scheme isapplied to the control panel (step 46). As will be described in moredetail below, there are a number of different vehicles for applying theschemes or grand schemes to the control panel. A determination of whichsettings to change is made (step 47). It is worth recalling from abovethat not all settings in a grand scheme are necessarily applied and thatnot all control panel settings are subject to being changed. Once thesettings to be changed have been ascertained, the settings of thecontrol panel are changed to reflect those settings marked as applicablethat are encapsulated within the scheme or grand scheme being applied(step 48). There is flexibility in that certain system settings within ascheme or grand scheme may be designated as not applicable. Such systemsettings are not applied when the scheme or grand scheme is applied.

The preferred embodiment of the present invention provides multiplemechanisms for applying grand scheme to the control panel (see step 46in FIG. 6). Those skilled in the art will appreciate that these threeapproaches are not intended to be exhaustive or limiting of the presentinvention. With reference to FIG. 7A, a first approach to applying agrand scheme to the control panel is via menu bar 50 that is provided bythe control panel. The menu bar 50 provided within the control panelincludes a "Schemes" option 52 that when activated displays a list ofgrand schemes 54. The user may choose any one of the grand schemesdisplayed within the list 54 to apply the settings of the selected grandscheme to the control panel.

A second option provided by the preferred embodiment of the presentinvention to apply a grand scheme to the control panel is provided in acontext menu 58 (FIG. 7B) of a grand scheme. The context menu 58 isdisplayed by double clicking on an icon for the grand scheme using mouse14. One of the options provided within the context menu 58 is option 60to apply the grand scheme to the control panel.

The third option for applying a grand scheme to the control panel in thepreferred embodiment of the present invention is to perform adrag-and-drop operation. FIG. 7C shows the steps that are performed insuch an operation. In particular, a representation of the grand scheme(such as an open grand scheme window or an icon for a grand scheme) isdragged using the mouse 14 to be over a control panel representation(such as control panel icon or an open control panel window) (step 62 inFIG. 7C). The grand scheme representation is then dropped (step 64) soas to apply the grand scheme to the control panel.

Hence, it can be seen that the preferred embodiment provides a number ofeasily implemented ways to update control panel settings with grandschemes. Multiple approaches are provided to suit the user's preference.

Three approaches are provided by the preferred embodiment of the presentinvention to apply schemes, as opposed to grand schemes, to the controlpanel to change control panel system settings for given controllers (seestep 46 in FIG. 6). Those skilled in the art will appreciate that thepresent invention is not limited to these approaches to applying theschemes to the control panel. These approaches are merely illustrative.

In a first approach, menu 66 (FIG. 8A) is used to apply a scheme to thecontrol panel. Menu 66 is provided by a controller when opened. Menu 66includes a schemes option 68 that, when selected by the user, displays alist of schemes 70. The user then selects one of the schemes to applythe settings of the scheme as the current settings for the controller.

A second approach that may be used to apply a scheme to the controlpanel is to activate a context menu 74 (FIG. 8B) for the scheme. Thecontext menu 74 is activated by clicking on the icon of the scheme usingmouse 14. The context menu 74 includes an option 76 to apply the schemeto the control panel. When the user selects this option, the scheme isapplied and the system settings are changed in the control panel.

A third option for applying a scheme to the control panel is to performa drag-and-drop operation. FIG. 8C shows the steps that are performed insuch a drag-and-drop operation for a scheme. First, a representation ofthe scheme, such as an open window or an icon, is dragged to arepresentation of the control panel (step 80). The representation of thescheme is then dropped to apply the scheme to the control panel (step82).

It should be appreciated that each controller decides which settings maybe encapsulated into a scheme. A controller may have some settings thatare not encapsulated into a scheme. For example, system environmentvariables, such as the path to the system root, may be sorted with acontroller but may not be part of a scheme. In addition, a scheme mayinclude settings that are not applied to the control panel when thescheme is applied to the control panel. The settings that are notsubject to being incorporated into schemes and the settings withinschemes that are not subject to being applied to the control panel aredisabled when the scheme is opened.

The above discussion notes that schemes or grand schemes may be draggedand dropped to realize the changing of system settings. The MicrosoftOLE 2.0 protocol provides a number of interfaces that facilitate suchdrag-and-drop operations. An application registers a window as a droptarget by calling a RegisterDragDrop() function that is provided byMicrosoft OLE 2.0. In addition, the drop target supports the IDropTargetinterface as defined within Microsoft OLE 2.0 and the drop sourcesupports the IDropSource interface. More details regarding theseinterfaces can be found in Inside OLE 2, by Kraig Brockschmidt,Microsoft Press, 1994.

The preferred embodiment of the present invention provides a number ofdifferent ways for the user to create a scheme. FIG. 9A is a flow chartshowing the steps performed in one approach for creating a scheme.Initially, the user establishes the settings to be incorporated into ascheme using the dialog box 30 (FIG. 3) of a controller (step 84). Thesettings are then saved as a scheme (step 86). For example, thebackground settings of no pattern and no wallpaper shown in FIG. 3 maybe encapsulated into a scheme. The settings may be saved as a scheme byinvoking option 72 within the menu 66 of the controller, as shown inFIG. 8A. Option 72 saves the current settings of a controller as ascheme.

A second approach to creating a scheme is to perform a drag-and-dropoperation. FIG. 9B is a flow chart illustrating the steps that areperformed to create a scheme in this fashion. A representation of acontroller or scheme (such as an icon or a window for a controller or ascheme) is dragged using mouse 14 to a representation of a target scheme(step 88). The representation of the controller or scheme is thendropped (step 90). The target scheme then updates the settingsencapsulated within it to reflect the settings of the controller orscheme that has been dropped upon it. In the Microsoft OLE 2.0 protocol,the target scheme is given a data pointer to a data object that holdsthe values of the settings for the controller or scheme that is droppedon it (step 92). It accesses this data object to update its ownsettings. For example, suppose a user wishes to create a scheme holdingcurrent desktop settings. The user may then drag the desktop controller28D (FIG. 2) and drop it in the scheme folder 36 (FIG. 3) to create ascheme object holding the same desktop settings.

FIG. 9C is a flow chart showing the steps that are performed in a thirdapproach to create a scheme object. First, an existing scheme is copiedby choosing an option such as the "Copy" option 77 in context menu 74for a scheme (step 94). The contents of the scheme are then modified toestablish new settings and, thus, create the new scheme (step 96).

FIG. 10 is a flow chart illustrating the steps the are performed tomodify the settings within a scheme, such as in step 96 of FIG. 9C.First, the scheme is opened so that a window is displayed and thecontents of the scheme displayed (step 98). A scheme may be opened bydouble clicking with the mouse 14 on an icon representing the scheme orby choosing the "open" option 79 (FIG. 8B) from the context menu 74 ofthe scheme (step 98 in FIG. 10). The contents of the scheme are thenavailable and may be directly manipulated via dialog box 30, which isthe same dialog box that is used by the corresponding controller (FIG.3). The user may then modify the settings of the scheme using dialog box30 (step 100 in FIG. 10). The modified scheme is saved by choosing the"OK" button that is available within the dialog box 30 (step 102).

Just as with schemes, there are a number of different approachesprovided by the preferred embodiment of the present invention formodifying the contents of grand schemes and for creating grand schemeobjects. FIG. 11A is a flow chart illustrating a first approach tocreating a grand scheme object. In accordance with this first approach,the user has opened the control panel and has selected option 56 (savesettings as grand scheme) from the control panel menu 50 (step 104).This option 56 requests the user to select which controllers are to havetheir settings incorporated into the grand scheme. The user selects thecontroller using the dialog provided by option 56 (step 106 in FIG.11A).

FIG. 11B is a flow chart showing the steps that are performed in asecond approach to create a grand scheme object. First, an existinggrand scheme is copied, such as in response to a user selecting copyoption 61 (FIG. 7B) from the grand scheme context menu 58 (step 108 inFIG. 11B). The user then may modify the settings within the grand schemeby opening each scheme contained therein and editing the contents (step110).

FIG. 11C shows a flow chart of the steps that are performed in an optionfor creating an object holding system settings. First, a representationof a control panel is dragged to a representation of a folder, such as aschemes folder (step 112). The representation is then dropped (step114), causing a new object holding the system settings of the controlpanel to be added to the folder (step 116).

FIG. 12 shows an approach for modifying the contents of a grand scheme.In this approach, a controller or scheme is dragged or dropped onto agrand scheme. In step 126, a representation of a controller or scheme isdragged to a representation of a grand scheme. The representation of thecontroller scheme is then dropped (step 128). The settings for thescheme that corresponds with the controller or scheme that is droppedare then updated to reflect the values of the controller or scheme thathas been dropped (step 130). Those skilled in the art will appreciatethat a grand scheme may be directly modified by opening its controllersand modifying the system settings.

While the present invention has been described with reference to apreferred embodiment thereof, those skilled in the art will neverthelessappreciate that various changes and forms in detail may be made withoutdeparting from the intended scope of the present invention as defined inthe appended claims.

What is claimed is:
 1. In a computer system having a video display and astorage device and running an operating system that provides a desktopenvironment to a user and a file system, said desktop environment havingassociated system settings that affect the desktop environment, a methodcomprising the steps of:storing in the storage device a first set ofvalues for at least a portion of the system settings so that the firstset of values is visible in the file system; storing in the storagedevice a second set of values for the same portion of the systemsettings for which values are stored in the first set of values so thatthe second set of values is visible in the file system; and in responseto a user choice between the first set of values and the second set ofvalues, updating the systems settings to have the values of the set ofvalues that has been chosen by the user.
 2. The method of claim 1wherein the step of storing in the storage device the first set ofvalues comprises the step of storing in the storage device the first setof values for all of the system settings that a user may change so thatthe first set of values is visible in the file system.
 3. The method ofclaim 1 wherein at least one of the system settings affects appearanceof the desktop environment.
 4. The method of claim 1 wherein at leastone of the system settings affects behavior of the desktop environment.5. The method of claim 1 wherein the first set of values and the secondset of values are stored as a first object and second object,respectively.
 6. The method of claim 1, further comprising the step ofstoring in the storage device a third set of values for the same portionof the system settings for which values are stored in the first andsecond sets of values, said third set of values being visible in thefile system.
 7. In a computer system having a storage device and runningan operating system that provides an operating environment to a user,said operating environment being specified by values of system settings,a method comprising the steps of:providing a control panel forcontrolling current values of the system settings; storing sets ofvalues for the system settings in the storage device, each set includingvalues for at least a portion of the system settings; providing aninterface for enabling the user to select one of the sets of values; andin response to a selection of one of the sets of values by the user,changing the current system settings to have the values of the selectedset of values.
 8. The method of claim 7 wherein the set of valuesselected by the user includes values for all of the system settingswhose values are controlled by the control panel.
 9. The method of claim7 wherein the set of values selected by the user includes values foronly a subset of the system settings whose values are controlled by thecontrol panel.
 10. The method of claim 7, further comprising the step ofproviding a user interface for the control panel that enables the userto select at least one new value for the system settings.
 11. In acomputer system running an operating system that provides an operatingenvironment to a user and a file system wherein the operatingenvironment has system settings that affect the operating environment, amethod comprising the steps of:providing a control panel for controllingcurrent values of the system settings, the control panel includingcontrollers that each are responsible for controlling current values ofa group of related ones of the system settings; providing the user withat least two sets of values for an identified one of the groups ofrelated system settings such that the sets of values are visible in thefile system; and in response to a selection by the user of one of thesets of values, changing the current values of the identified group ofrelated system settings to the values in the set of values selected bythe user.
 12. The method of claimed 11, further comprising the step ofproviding the user with additional sets of values visible in the filesystem for ones of the groups of related system settings that differfrom the identified group.
 13. The method of claim 12, furthercomprising the step of, in response to selection by the user of certainof the additional sets of values, changing the system settings for thegroups of related system settings for which the selected additional setsof values hold values, to the values held in the selected additionalsets of values.
 14. The method of claim 11, further comprising the stepof providing the user with another set of values visible in the filesystem for system settings in multiple ones of the groups of relatedsystem settings.
 15. The method of claim 14, further comprising the stepof, in response to the user selecting the other set of values, changingthe current values of the multiple groups for which the other set ofvalues holds values, to the values in the other set.
 16. In a computersystem having a storage device and running an operating system thatprovides an operating environment to a user, said operating environmentconforming to current system settings, a method comprising the stepsof:storing a grand scheme container object in the storage device;storing scheme objects within the grand scheme container object, eachscheme object holding a set of values for a subset of the systemsettings; applying the values held in the scheme objects contained inthe grand scheme container object to the current system setting so as tochange the values of the current system settings to the values held inthe scheme objects of the grand scheme container object.
 17. The methodof claim 16, further comprising the step of storing an additional grandscheme container object holding scheme objects in the storage device.18. The method of claim 17, further comprising the step of storing thegrand scheme container objects and the scheme objects in a folderobject.
 19. In a computer system having an input device and a videodisplay and running an operating system that provides an operatingenvironment to a user as specified by system settings, a methodcomprising the steps of:providing a first object holding values forsystem settings, said first object having a representation on the videodisplay; providing a second object holding system settings, said secondobject having a representation on the video display; dragging therepresentation of the first object on the video display to lie over atleast a portion of the representation of the second object in responseto the user using the input device; dropping the representation of thefirst object on the representation of the second object in response tothe user using the input device; in response to the dropping of therepresentation of the first object on the representation of the secondobject, changing the values for system settings in the second object tothe values for system settings in the first object.
 20. The method ofclaim 19 wherein the second object is a control panel object thatcontrols current values for the system settings.
 21. The method of claim20 wherein the first object is a scheme object holding values for only asubset of the system settings whose values that are controlled by thecontrol panel, thereby changing only the subset.
 22. The method of claim20 wherein the first object is a grand scheme object holding values forall of the system settings whose values are controlled by the controlpanel, thereby changing all of the values.
 23. The method of claim 19wherein the second object is a grand scheme object containing schemeobjects that each hold values for subsets of the system settings whosevalues are controlled by the control panel and the first object is anadditional scheme object that holds values for a subset of the systemsettings whose values are controlled by the control panel.
 24. Themethod of claim 19 wherein the first object is a grand scheme object andthe second object is a control panel object that controls current valuesfor the system settings.
 25. The method of claim 19 wherein both thefirst object and the second object are scheme objects.
 26. A dataprocessing system comprising:a processor for running an operating systemthat provides a file system and a desktop environment to the user, saiddesktop environment having an associated set of system settings thataffect the desktop environment; a storage comprising:(i) a copy of theoperating system; (ii) a first set of values for at least a portion ofthe system settings so that the first set of values is visible in thefile system; (iii) a second set of values for the same portion of thesystem settings for which values are stored in the first set of valuesso that the second set of values is visible in the file system; and avehicle for updating the system settings, in response to a user choiceof one of the sets of values, to have the values of the set of valuesthat was chosen by the user.
 27. The data processing system of claim 26,further comprising a folder in the storage that holds a first set ofvalues and the second set of values.
 28. A system for providing adesktop environment to a user, said desktop environment havingassociated system settings that affect it, comprising:a displaycomponent for displaying an interface to a user as part of the desktopenvironment according to the system settings; a first container holdinga first set of system settings values; a second container holding asecond set of system settings values; a selection component thatreceives selection information and in response selects between the firstcontainer and the second container; and a change component responsive tothe selection component for changing the system settings to those heldin the selected container.
 29. A computer-readable storage medium foruse in a computer system having a video display and a storage device andrunning an operating system that provides a desktop environment to auser and a file system, wherein said desktop environment has associatedsystem settings that affect the desktop environment, said mediumholding:a first set of values for at least a portion of the systemsettings wherein the first set of values is visible in the file system;a second set of values for the same portion of the system settings forwhich values are stored in the first set of values wherein the secondset of values is visible in the file system; and a system settingsupdate component for updating the system settings to have the values ofa one of the first set of values, the second set of values, or that hasbeen chosen by a user.
 30. The computer-readable storage medium of claim29 wherein the first set of values is stored in a first object and thesecond set of values is stored in a second object.
 31. Acomputer-readable storage medium for use in a computer system having astorage device and running an operating system that provides anoperating environment to a user that conforms to current systemsettings, said medium holding:a grand scheme container object that holdsscheme objects wherein each scheme object holds a set of values for asubset of the system settings; and a component for applying the valuesheld in the scheme objects in the grand scheme container object to thecurrent system settings so as to change the values of the current systemsettings to the values held in the scheme objects of the grand schemecontainer object.
 32. A computer-implemented method for modifying anappearance of a desktop environment of a computer system, the desktopenvironment providing a plurality of parameters, each parameter settableto values that control the appearance of an aspect of the desktopenvironment, the method comprising:receiving from a user a first set ofvalues for the parameters; storing the received first set of values;receiving from the user a second set of values for the parameters;storing the received second set of values; receiving from the user aselection of either the first set of values or the second set of values;when the selection of the first set of values is received from the user,setting the parameters to the values of first set of values; and whenthe selection of the second set of values is received from the user,setting the parameters to the values of the second set of values wherebythe user can specify sets of values and whereby the computer system setsthe parameters to the values of a set when the user selects that set ofvalues so that the appearance of the desktop environment is modified inaccordance with the selected set of values.
 33. The method of claim 32wherein the storing of the received sets of values stores the sets ofvalues using a file system.
 34. The method of claim 32 wherein the userselects a set of values by dragging and dropping a visual representationof the set of values over a visual representation of the parameters. 35.The method of claim 32 wherein the parameters are set under control ofan operating system.
 36. The method of claim 32 including changing avalue in the first set of values so that subsequent selection of thefirst set results in modifying the appearance of the desktop environmentin accordance with the changed value.
 37. The method of claim 32 whereinthe parameters are divided into control groups, each control grouphaving a controller for setting the values of the parameters of thatcontrol group, and wherein the first set of values is for parameters ofa plurality of control groups.
 38. The method of claim 37 wherein thesetting of the values of the parameters is performed by the controllersfor the plurality of control groups.
 39. A computer-readable mediumcontaining instructions for causing a computer system to modify theappearance of a desktop environment of a computer system, the desktopenvironment providing a plurality of control groups having parameters,each parameter of a control group settable to a value that controls theappearance of an aspect of the desktop environment, each control grouphaving a controller for controlling the setting of the values of theparameters in the control group, by:storing in a file a first set ofvalues for parameters included in more than one control group; storingin a file a second set of values for the parameters included in morethan one control group; receiving from a user a selection of either thestored first set of values or the stored second set of values; when theselection of the first set of values is received from the user, invokingthe controllers of the control groups that include parameters of thefirst set of values to set the parameters to the values of first set ofvalues; and when the selection of the second set of values is receivedfrom the user, invoking the controllers of the control groups thatinclude parameters of the second set of values to set the parameters tothe values of second set of values whereby the user can select a set ofvalues so that the values of the parameters of more than one controlgroup can be set by the selection of the set of values.
 40. Thecomputer-readable medium of claim 39 wherein the user selects a set ofvalues by dragging and dropping a visual representation of the set ofvalues over a visual representation of the parameters.
 41. Thecomputer-readable medium of claim 39 wherein the parameters are setunder control of an operating system.
 42. The computer-readable mediumof claim 39 including changing a value in the first set of values sothat subsequent selection of the first set results in modifying theappearance of the desktop environment in accordance with the changedvalue.